#ifndef _COMPILER_H_
#define _COMPILER_H_

// set undefined compiler macros to 0
#ifndef __GNUC__
	#define __GNUC__ 0
#endif
#ifndef __INTEL_COMPILER
	#define __INTEL_COMPILER 0
#endif
#ifndef _MWERKS_
	#define _MWERKS_ 0
#endif

#if defined(_WIN32) && !defined(_WIN32_WCE)
	#define ALIGN(n) __declspec(align(n))
#else
	#define ALIGN(n)
#endif

#ifndef DECLSPEC_NOVTABLE
	#ifndef _MSC_VER
		#define DECLSPEC_NOVTABLE
	#elif (_MSC_VER >= 1100) && defined(__cplusplus)
		#define DECLSPEC_NOVTABLE __declspec(novtable)
	#else
		#define DECLSPEC_NOVTABLE
	#endif
#endif

#ifdef _MSC_VER
	#define WINAPI __stdcall
	#define CALLBACK __stdcall
#else
	#define WINAPI
	#define CALLBACK
#endif

#if _MWERKS_
	#define PACKED __packed
#else
	#define PACKED
#endif

#ifndef ASM_IX86
	#ifdef _M_IX86
		#define ASM_IX86 (_M_IX86 && !__QLINUX__)
	#else
		#define ASM_IX86 0
	#endif
#endif



// Microsoft Visual Studio .NET 2005 version 8 (_MSC_VER == 1400)
// Suppress warnings of deprecated functions in the standard libraries, various:
//		fopen, wsfopen
//		sprintf, sscanf, vsprintf, _snprintf
//		hypot
//		stricmp, strcpy, strncmp
//		_wgetenv, wcsncpy, mbstowcs
#if defined(_MSC_VER) && (_MSC_VER >= 1400 )
	#pragma warning( disable : 4996 )
#endif

#endif		// ifndef _COMPILER_H_
